2d0f554264376c87e40df58f3797e169b2de14ef,java/debugger/impl/src/com/intellij/debugger/engine/evaluation/expression/EvaluatorBuilderImpl.java,Builder,visitConditionalExpression,#PsiConditionalExpression#,534
Before Change
final PsiExpression thenExpression = expression.getThenExpression();
final PsiExpression elseExpression = expression.getElseExpression();
if (thenExpression == null || elseExpression == null){
throw new EvaluateRuntimeException(EvaluateExceptionUtil
.createEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", expression.getText())));
}
PsiExpression condition = expression.getCondition();
condition.accept(this);
if (myResult == null) {
throw new EvaluateRuntimeException(EvaluateExceptionUtil
.createEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", condition.getText())));
}
Evaluator conditionEvaluator = myResult;
thenExpression.accept(this);
if (myResult == null) {
throw new EvaluateRuntimeException(EvaluateExceptionUtil
.createEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", thenExpression.getText())));
}
Evaluator thenEvaluator = myResult;
elseExpression.accept(this);
if (myResult == null) {
throw new EvaluateRuntimeException(EvaluateExceptionUtil
.createEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", elseExpression.getText())));
}
Evaluator elseEvaluator = myResult;
myResult = new ConditionalExpressionEvaluator(conditionEvaluator, thenEvaluator, elseEvaluator);
After Change
final PsiExpression thenExpression = expression.getThenExpression();
final PsiExpression elseExpression = expression.getElseExpression();
if (thenExpression == null || elseExpression == null){
throwEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", expression.getText())); return;
}
PsiExpression condition = expression.getCondition();
condition.accept(this);
if (myResult == null) {
throwEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", condition.getText())); return;
}
Evaluator conditionEvaluator = myResult;
thenExpression.accept(this);
if (myResult == null) {
throwEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", thenExpression.getText())); return;
}
Evaluator thenEvaluator = myResult;
elseExpression.accept(this);
if (myResult == null) {
throwEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", elseExpression.getText())); return;
}
Evaluator elseEvaluator = myResult;
myResult = new ConditionalExpressionEvaluator(conditionEvaluator, thenEvaluator, elseEvaluator);